Represents the authentication state of the user
Represents the state when the user is authenticated, containing the user details.
Represents the state when the user is unauthenticated.